FIFO circuitry is memory circuitry used to store information (e.g., data). Many electronic devices (e.g., integrated circuit (IC) chips) and systems (e.g., computers, cellular phones, digital televisions, etc.) often have FIFO circuitry to temporarily store information when the information is transferred from one component to another component of the same device or between different devices of the systems. FIFO circuitry can operate to store different information in a sequential order in different memory locations in the FIFO circuitry. The stored information can be read (e.g., retrieved) in the same sequential order (e.g., in a first-in first-out order). Thus, in FIFO circuitry, information stored in the FIFO circuitry first (first-in) is read from the circuitry first (first-out), and information stored in the FIFO circuitry last is read from the FIFO circuitry last. FIFO circuitry often use write pointer information to indicate into which memory location in the FIFO circuitry information can be stored, and read pointer information to indicate in which memory location in the FIFO information can be read.
Asynchronous FIFO circuitry is one type of FIFO circuitry. Asynchronous FIFO circuitry allows information to be stored in (e.g., written in) and read from the asynchronous FIFO circuitry using timing of different clock signals from different clock domains (e.g., a write clock domain and a read clock domain). Conventional asynchronous FIFO circuitry often use multiple and encoded bits to represent the value of the write pointer information and multiple and encoded bits (multiple binary digits) to represent the value of the read pointer information. In some devices or systems, factors such as operating conditions, if not carefully considered during design, may cause the value of the write pointer information, the read pointer information, or both information to be temporary incorrect. Such temporary incorrect values can lead to unexpected device or system behavior including functional failures.